Text In
========

Functionality
-------------

Import data from text editor in formats csv, json or plain sverchok text.

Properties
----------

**Main UI**

+-------------------------+-------------------+--------------------------------------------------------+
| feature                 |  Description      |                                                        |
+=========================+===================+========================================================+
| Select                  |  Select text from blender text editor (or import and select)               |
+-------------------------+-------------------+--------------------------------------------------------+
| Format                  |  Property to choose between csv, plain sverchok and json                   |
|                         |  data format                                                               |
+-------------------------+-------------------+--------------------------------------------------------+
|                         |  **CSV**          | - **Header fields** : to use headers from file         |
|                         |                   | - **Dialect** : to choose dialect of imported table    |
|                         |                   | - **Skip N Lines** : skip a number of intro lines      |
|                         |                   |   in a non standard CSV                                |
+-------------------------+-------------------+--------------------------------------------------------+
|                         |  **Sverchok**     | - **Data type** : output data socket as selected type  |
+-------------------------+-------------------+--------------------------------------------------------+
|                         |  **JSON**         | this is for loading a file generated by sverchok, it   |
|                         |                   | is not a generic json loader. It is not clear how      |
|                         |                   | we would implement such a thing anyway. our Sverchok   |
|                         |                   | JSON output formats the data in a specific way.        |
+-------------------------+-------------------+--------------------------------------------------------+
| Load                    |  Load data from text in blend file                                         |
+-------------------------+-------------------+--------------------------------------------------------+

**N Panel**

The *N-panel* has a few options too

- **force input** : mode for CSV to automatically try to do the right thing when the CSV is
  a mixed bag of strings with quotes and numbers. Try this if the file won't load correctly. (else let us know in the issue tracker)

- **Extended Mode** : this turns off all parsing converters and outputs just strings for now, you must then use formula nodes to cast params manually.


Outputs
-------

+----------+----------------------------------------------------------------------------------------------------------------+
| Mode     | Sockets names                                                                                                  |
+==========+================================================================================================================+
| Sverchok | **vertices**, **data**, **matrices** - when plain data selected                                                |
+----------+----------------------------------------------------------------------------------------------------------------+
| CSV      | **Col** - if csv data selected, without headers, or **headers** can be read if available.                      |
+----------+----------------------------------------------------------------------------------------------------------------+
| JSON     | This is user defined, at the time the json is created. The *Text Out+* node's json mode                        |
|          | stores a socket_order variable which allows *Text In+* to recreate the socket order when imported.             |
|          | The sockets generated by json are named according to the socket names and node origins of the inputs           |
|          | fed into the Text Out node.                                                                                    |
+----------+----------------------------------------------------------------------------------------------------------------+
